package com.bountytask.dao;

import com.bountytask.entity.Task;
import com.bountytask.entity.UserTask;
import org.springframework.stereotype.Repository;

import javax.xml.crypto.Data;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Repository
public interface TaskDao {
    //根据条件查询相应的taskid
    public List<Long> getTaskIds(HashMap<String, Object> map);

    //根据id批量查询
    public List<Task> getTaskByIds(List<Long> taskIds);

    //根据条件查询
    public List<Task> getTasksByCondition(Map<String,Object> map);

    //添加任务
    public int addTask(Task task);

    //根据id单个查询
    public Task getTaskById(long taskId);

    //接任务而更新任务信息
    public void updateTaskForTake(HashMap<String,Object> map);

    //更新任务信息
    public int updateTask(Task task);

    //根据前端给的数据去usertask表把对应的记录的del_tag置1。
    public int rejectTask(HashMap<String,Object> map);

    //根据taskid和role=1的条件去usertask表中找到该任务发布者的记录，把这条记录中的status-1即可。
    public int deleteStatus(long taskid);

    //获取所有在线的，被人领取过的任务
    public List<Long> getAllTask(Date nowDate);
}
